﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////

// NotReviewedButNeeded

#pragma once

#include "GcmpCommonDraw.h"

namespace gcmp
{
    class IActionDrawRectBehavior;

   /// \brief 配置绘制矩形Action的生成器DrawRectActionCreator参数
    class GCMP_COMMON_DRAW_EXPORT ActionDrawRectInput
    {
    public:
        /// \brief 构造函数
        /// \param opActionBehavior 偏移操作Action的Behavior
        ActionDrawRectInput(OwnerPtr<gcmp::IActionDrawRectBehavior> opActionBehavior);

        /// \brief 析构函数
        ~ActionDrawRectInput() {}

    public:
        /// \brief 获取绘制矩形Action的Behavior
        /// \return 绘制矩形Action的Behavior指针
        OwnerPtr<IActionDrawRectBehavior> GetDrawRectBehavior();

        /// \brief 设置绘制矩形Action的Behavior
        /// \param opActionBehavior 绘制矩形Action的Behavior
        /// \return void
        void SetDrawRectBehavior(OwnerPtr<gcmp::IActionDrawRectBehavior> opActionBehavior);

    private:
        OwnerPtr<gcmp::IActionDrawRectBehavior> m_opActionBehavior;
    };
}
